#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
    int n=0,m=0;
    void dfs(vector<vector<char>>& board,int x,int y)
    {
        if(x<0||x>=n||y<0||y>=m||board[x][y]!='O')return;
        board[x][y]='A';
        int dx[4]={-1,1,0,0},dy[4]={0,0,1,-1};
        for(int i=0;i<4;i++)
            dfs(board,x+dx[i],y+dy[i]);
    }
    void solve(vector<vector<char>>& board) {
        n=board.size();
        if(n==0)return ;
        m=board[0].size();
        for(int i=0;i<n;i++)
        {
            dfs(board,i,0);
            dfs(board,i,m-1);
        }
        for(int i=1;i<m;i++)
        {
            dfs(board,0,i);
            dfs(board,n-1,i);
        }
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                if(board[i][j]=='A')board[i][j]='O';
                else if(board[i][j]=='O')board[i][j]='X';
            }
        }
        return ;
    }
};